<?php
// path：生成一个绝对路径
// DIR：返回当前所在的目录
// basePath函数：拼接完成的文件路径
function basePath($path = '')
{
    return __DIR__ . '/' .$path;
}


// 封装加载视图函数partials
function loadPartial($name,$data=[]){
    $partialPath = basePath("App/views/partials/{$name}.php");
    if (file_exists($partialPath)){
        extract($data);
        require $partialPath;
    }else{
        echo "{$name}部分视图不存在";
    }
}

// 封装加载views目录下的视图函数
function loadView($name,$data = []){
    $viewPath = basePath("App/views/{$name}.view.php");
    

    if(file_exists($viewPath)){  // 检查视图是否存在
        extract($data);
        require $viewPath;
    }else{
        echo "{$viewPath}不存在";
    }
}

// inspect函数 ：输出变量的详细信息，包括类型和值
function inspect($value){
    echo '<pre>';  // 输出前缀
    var_dump($value);  // 输出变量信息
    echo '<pre>';  // 输出后缀
}

// inspectAndDie：输出一个或多个变量的详细信息后，立即终止PHP脚本的执行
function inspectAndDie($value){
    echo '<pre>';  // 输出前缀
    die(var_dump($value));
    echo '<pre>';  // 输出后缀
}

function sanitize($dirty) { 
    return filter_var(trim($dirty), FILTER_SANITIZE_SPECIAL_CHARS); 
}

// 重定向给定的url
function redirect($url){
    header("Location: {$url}");
    exit;
}